package com.demon.androidbasic.upload

/**
 * 类简要描述
 * <p/>
 * <p>
 * 类详细描述
 * </p>
 *
 * @author zhaozeyang
 * @date 2020/8/27
 */
interface IUploadService {
  /**
   * 同步上传，调用此方法一定要在非UI线程进行调用
   *
   * @param path 文件路径
   * @param isUser 是否是用户信息  用户相关图片与非用户相关图片生成的文件名称不一样
   */
  fun upload(
    path: String,
  ): UploadResult

  /**
   * 异步上传，调用此方法一定要在非UI线程进行调用
   *
   * @param path 文件路径
   * @param listener 回掉
   * @param isUser 是否是用户信息  用户相关图片与非用户相关图片生成的文件名称不一样
   */
  fun asyncUpload(
    path: String,
    listener: IUploadListener,
  )

  class UploadResult() {
    var url: String = ""
  }
}